Skip to content

Show What's New on update, and a tappable version on Help - #141

Merged
mapgie merged 2 commits into
mainfrom
claude/help-menu-privacy-clarification-fqm5jc
Sep 12, 2026
Merged

Show What's New on update, and a tappable version on Help#141
mapgie merged 2 commits into
mainfrom
claude/help-menu-privacy-clarification-fqm5jc

Conversation

@mapgie

@mapgie mapgie commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Follow-up to the merged Help work (#138). Makes updates visible and ties the changelog to the how-to-use pages.

What's New on update

On open after an in-place update, the existing "What's New" changelog dialog now appears once, so people see what changed and know there's been an update.

  • New lastSeenVersionCode preference records the version last opened.
  • It fires only on a genuine update: a fresh install still gets the welcome/onboarding sheet (never What's New), and the same or an older version shows nothing. The gate is a pure function, showWhatsNewOnUpdate(lastSeen, current), unit-tested in UpdateGateTest.
  • The version that introduces this feature won't spuriously show What's New to existing users (their unset preference reads as a fresh baseline, recorded silently).

Version footer on the Help screen

The foot of Settings › Help now shows Version x.y.z with a "What's new ›" hint. Tapping it opens the same What's New dialog (consistent with Settings › About). It's pinned below the scrolling pages, so it's visible on both tabs.

What's New links to the how-to-use pages

The dialog carries a "How to use the app ›" link into the Help pages, from the on-update prompt and from Settings › About. It reuses the existing pendingSettingsSubScreen deep-link mechanism (the same one that opens the Reminders settings page). The Help footer's own dialog omits the link, since you're already in Help.

Refactor

Extracted a shared WhatsNewDialog composable (loads assets/CHANGELOG.md, wires the full-changelog link) and moved CHANGELOG_URL beside it, so About, Help, and the on-update prompt share one implementation instead of duplicating the asset-loading block.

Notes

  • New clickables (HelpVersionFooter, the dialog's help link) carry Role.Button; a11y_check.py clean.
  • No en/em dashes (the "›" is the angle-quote already used across the app, e.g. "Settings › Display").
  • Unit test added for the pure update gate; changelog fragment added (minor).
  • Requires versionCode to actually increment between releases for the update prompt to fire, which the release flow already handles.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GZHz422dXfSfQtRadVhSuf


Generated by Claude Code

On an in-place update, show the What's New changelog once so the user
sees what changed and knows there has been an update. A new
lastSeenVersionCode preference records the version last opened; the
dialog fires only when it is a genuine update (not a fresh install,
which still gets the welcome sheet). The pure gate is unit-tested.

Also add a tappable version line at the foot of the Help screen that
opens What's New, and give the What's New dialog a 'How to use the app'
link through to the Help pages (from the on-update prompt and from
Settings > About; the Help footer omits it since you are already there).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZHz422dXfSfQtRadVhSuf
The CHANGELOG_URL const had been inserted between import lines, leaving
three imports after it; Kotlin requires all imports before any
declaration, which failed kspDebugKotlin. Move the const below the
imports.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZHz422dXfSfQtRadVhSuf
@mapgie
mapgie marked this pull request as ready for review September 12, 2026 12:12
@mapgie
mapgie merged commit 8b62943 into main Sep 12, 2026
6 checks passed
@mapgie
mapgie deleted the claude/help-menu-privacy-clarification-fqm5jc branch September 12, 2026 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants